//教室管理
layui.use(['form','jquery','table','layer','laydate'],function () {

    var form = layui.form;
    var $ = layui.jquery;
    var table = layui.table;
    var layer = layui.layer;
    var laydate = layui.laydate;


    // //日期
    // laydate.render({
    //     elem: '#birthday'
    //     ,type: 'datetime'
    // });

    // 访问地址
    let basePath = $("#basePath").val();
    let path = basePath + "/findAllandmohu";

    //渲染表格组件(学生表)
    var tableIns = table.render({
        elem: "#classTable",//绑定表格元素，推荐使用ID选择器
        toolbar: "#classToolbar",
        url: "findAllandmohu",//一步请求地址
        method: 'post',
        contentType: 'application/json',
        page: true,//开启分页
        limit: 5,//设置每页显示条数,根据自己项目情况去设置
        limits: [1, 2, 3, 4, 5, 6],//设置每页条数下拉框的选择项,就是分页那一栏的下拉框选项
        cols: [
            [
                {
                    type: 'checkbox',
                    fixed: 'left',
                    width: 60
                },
                {
                    field: 'area',
                    title: '区域',
                    fixed: 'left',
                    align: 'center',
                    width: 80,
                }, {
                field: 'buildingNo',
                title: '楼号',
                align: 'center',
                width: 140
            }, {
                field: 'buildingFloor',
                title: '楼层',
                align: 'center',
                width: 80
            }, {
                field: 'classroomNumber',
                title: '教室编号',
                align: 'center',
                width: 100
            }, {
                field: 'classroomName',
                title: '教室名称',
                align: 'center',
                width: 140
            }, {
                field: 'galleryful',
                title: '容纳人数',
                align: 'center',
                width: 80
            }, {
                field: 'useStatus',
                title: '使用状态',
                align: 'center',
                width: 120,
            },  {
                field: 'createTime',
                title: '创建时间',
                align: 'center',
                width: 160,
            }, {
                field: 'updateTime',
                title: '修改时间',
                align: 'center',
                width: 160,
            }, {
                fixed: 'right',
                width: 248,
                title: '操作',
                align: 'center',
                toolbar: '#barDemo'
            }
            ]
        ],
        done: function (res, curr, count) {
            // 使用情况
            $("[data-field='useStatus']").children().each(function () {
                if ($(this).text() == '0') {
                    $(this).text('使用');
                } else if ($(this).text() == '1') {
                    $(this).text('未使用');
                }else if ($(this).text() == '2') {
                    $(this).text('维修中');
                }
            });

            $("[data-field='area']").children().each(function () {
                if ($(this).text() == 'A') {
                    $(this).text('A区');
                } else if ($(this).text() == 'B') {
                    $(this).text('B区');
                } else if ($(this).text() == 'C') {
                    $(this).text('C区');
                } else if ($(this).text() == 'D') {
                    $(this).text('D区');
                } else if ($(this).text() == 'E') {
                    $(this).text('E区');
                }
            });
            $("[data-field='buildingFloor']").children().each(function () {
                if ($(this).text() == '1') {
                    $(this).text('第一层');
                } else if ($(this).text() == '2') {
                    $(this).text('第三层');
                } else if ($(this).text() == '3') {
                    $(this).text('第三层');
                }
            });
            $("[data-field='buildingNo']").children().each(function () {
                if ($(this).text() == '1') {
                    $(this).text('第一号楼');
                } else if ($(this).text() == '2') {
                    $(this).text('第二号楼');
                } else if ($(this).text() == '3') {
                    $(this).text('第三号楼');
                }
            });

            // $("[data-field='birthday']").children().each(function () {
            //     var birthday = $(this).text();
            //     if (birthday.indexOf('出生日期') == -1) {
            //         $(this).text(getYMDHMS(parseInt(birthday)));
            //     }
            // });
            //
            // $("[data-field='createTime']").children().each(function () {
            //     var birthday = $(this).text();
            //     if (birthday.indexOf('创建时间') == -1) {
            //         $(this).text(getYMDHMS(parseInt(birthday)));
            //     }
            // });
            //
            // $("[data-field='updateTime']").children().each(function () {
            //     var birthday = $(this).text();
            //     if (birthday.indexOf('修改时间') == -1) {
            //         $(this).text(getYMDHMS(parseInt(birthday)));
            //     }
            // });

        }


    });

    // function shengxl() {


        // 省下拉框
        $.ajax({
            type:"post",
            url:"threexlk",
            contentType: "application/json;charset=utf-8",
            dataType:"json",
            success:function (alist) {
                // layer.msg("111");

                var ahtml ="<option value=''>请选择区域</option>";
                for (var i = 0; i < alist.length; i++) {
                    ahtml += "<option value="+alist[i].area+">"+alist[i].area+"区"+"</option>";
                }
                layer.msg(ahtml);
                $("#area").html(ahtml);
                form.render('select'); //这个很重要,没有这个新的option不会显示

            },error:function () {
                layer.msg("添加请求失败1");
            }
        });

        //当select发生改变时
        form.on('select(area)', function (dat) {
            //市下拉框
            $.ajax({
                type: "post",
                url: "threexlkbn",
                contentType: "application/json;charset=utf-8",
                data:JSON.stringify({area:$("#area").val()}),
                dataType: "json",
                success: function (blist) {
                    // layer.msg("1");
                    var bhtml = "<option value=''>请选择楼号</option>";
                    for (var i = 0; i < blist.length; i++) {
                        bhtml += "<option value=" + blist[i].buildingNo + ">第" + blist[i].buildingNo + "号楼</option>";
                    }
                    $("#buildingNo").html(bhtml);
                    // $("select[name='cityid']").val(data.citiesId);
                    form.render('select'); //这个很重要,没有这个新的option不会显示
                    console.info(bhtml);
                    layer.msg(bhtml);

                }, error: function () {
                    layer.msg("添加请求失败2");
                }
            });
        });

        //当select发生改变时
        form.on('select(buildingNo)', function (dat) {
            $.ajax({
                type: "post",
                url: "threexlkbf",
                contentType: "application/json;charset=utf-8",
                data:JSON.stringify({area:$("#area").val(),buildingNo:$("#buildingNo").val()}),
                dataType: "json",
                success: function (alist) {
                    var ahtml = "<option value=''>请选择楼层</option>";
                    for (var i = 0; i < alist.length; i++) {
                        ahtml += "<option value=" + alist[i].buildingFloor + ">第" + alist[i].buildingFloor + "楼层</option>";
                    }
                    $("#buildingFloor").html(ahtml);
                    // $("select[name='areaid']").val(data.areasId);
                    layer.msg(ahtml);
                    console.info(ahtml);
                    form.render('select'); //这个很重要,没有这个新的option不会显示
                }, error: function () {
                    layer.msg("添加请求失败3");
                }
            });


        });

    // };

    //监听(模糊查询)搜索按钮提交事件
    form.on("submit(doSearch)", function (data) {
        // alert(data);

        tableIns.reload({
            where: data.field,//查询条件

            page: {
                curr: 1
            },
        });


        //ajax请求
        // $.get("",{},function (result) {
        //
        // }."json");


        ////阻止表单跳转。如果需要表单跳转,改为true
        return false;
    });

    //监听格头部工具栏事件(学生表的)
    table.on("toolbar(classTable)", function (obj) {

        switch (obj.event) {
            //添加
            case 'add':
                openAddwindow();
                break;

            //批量删除
            case 'batchDelete':
                batchDelete();
                break;



        }
    });
    var mainIndex;//窗口索引
    var urll;   //窗口地址

    //打开添加窗口
    function openAddwindow() {
        mainIndex = layer.open({
            type: 1,
            title: "添加账单",
            area: ['600px', '500px'],
            maxmin: true,
            content: $("#addOrUpdateBillDiv"),//应用的窗口代码
            success: function () {
                //清空表单数据
                $("#dataFrm1")[0].reset();//JavaScript中的方法
                urll = "addClass";
            }
        });
    };

    //监听表单提交事件(添加功能的小窗口)
    form.on("submit(doSubmit)", function (data) {

        console.log(data.field);
        $.ajax({
            type:"post",
            url:urll,
            contentType: "application/json;charset=utf-8",
            data:JSON.stringify(data.field),
            dataType:"json",
            success:function (result) {
                layer.alert(result.message, {icon: 1});
                //关闭窗口
                layer.close(mainIndex);
                //刷新数据表格
                tableIns.reload();

            },error:function (result) {
                layer.alert(result.message, {icon: 2});
            }
        });


        //
        // $.post(urll, data.field, function (result) {
        //     if (result.success) {
        //         layer.alert(result.message, {icon: 1});
        //         //关闭窗口
        //         layer.close(mainIndex);
        //         //刷新数据表格
        //         tableIns.reload();
        //     } else {
        //         layer.alert(result.message, {icon: 2});
        //     }
        // }, "json");
        return false;
    });


    //监听表格行工具栏事件(学生表)
    table.on("tool(classTable)",function (obj) {
        switch (obj.event) {
            //编辑按钮
            case 'edit':
                openUpdateWindow(obj.data);
                break;

            //删除
            case 'delete':
                deleteById(obj.data);
                break;

        }
    });

    //打开编辑功能窗口
    function openUpdateWindow(data) {
        console.log(data);
        mainIndex =layer.open({
            type:1,//弹出层类型
            title:"修改账单",
            area: ['600px', '500px'],
            content:$("#addOrUpdateBillDiv"),//引用的窗口代码
            success:function () {

                // shengxlk(data);
                //表单数据回显
                form.val("dataFrm1",data);
                //修改请求
                urll = "updClass";
            }
        });
    };


    // function shengxlk(data) {
    //
    //
    //
    //     // 省下拉框
    //     $.ajax({
    //         type:"post",
    //         url:basePath+"/provinces",
    //         contentType: "application/json;charset=utf-8",
    //         dataType:"json",
    //         success:function (plist) {
    //             var phtml ="<option value=''>请选择1</option>";
    //             for (let i = 0; i < plist.length; i++) {
    //                 phtml += "<option value="+plist[i].provinceid+">"+plist[i].province+"</option>";
    //             }
    //             layer.msg(phtml);
    //             $("select[name='provinceid']").html(phtml);
    //             $("select[name='provinceid']").val(data.provincesId);
    //             layui.form.render('select'); //这个很重要,没有这个新的option不会显示
    //             // layer.msg(data.)
    //
    //         },error:function () {
    //             layer.msg("添加请求失败1");
    //         }
    //     });
    //
    //     //当select发生改变时
    //     form.on('select(provinceid)', function (dat) {
    //         //市下拉框
    //         $.ajax({
    //             type: "post",
    //             url: basePath + "/cities",
    //             contentType: "application/json;charset=utf-8",
    //             dataType: "json",
    //             success: function (clist) {
    //                 layer.msg("1");
    //                 var chtml = "<option value=''>请选择1</option>";
    //                 for (let i = 0; i < clist.length; i++) {
    //                     if ($("select[name='provinceid']").val() == clist[i].provinceid) {
    //                         chtml += "<option value=" + clist[i].cityid + ">" + clist[i].city + "</option>";
    //                     }
    //                 }
    //                 $("select[name='cityid']").html(chtml);
    //                 $("select[name='cityid']").val(data.citiesId);
    //                 form.render('select'); //这个很重要,没有这个新的option不会显示
    //                 layer.msg(chtml);
    //
    //             }, error: function () {
    //                 layer.msg("添加请求失败2");
    //             }
    //         });
    //     });
    //
    //     //当select发生改变时
    //     form.on('select(cityid)', function (dat) {
    //         $.ajax({
    //             type: "post",
    //             url: basePath + "/areas",
    //             contentType: "application/json;charset=utf-8",
    //             dataType: "json",
    //             success: function (alist) {
    //                 var ahtml = "<option value=''>请选择1</option>";
    //                 for (let i = 0; i < alist.length; i++) {
    //                     if ($("select[name='cityid']").val() == alist[i].cityid) {
    //                         ahtml += "<option value=" + alist[i].areaid + ">" + alist[i].area + "</option>";
    //                     }
    //                 }
    //                 $("select[name='areaid']").html(ahtml);
    //                 $("select[name='areaid']").val(data.areasId);
    //                 layer.msg(ahtml);
    //                 form.render('select'); //这个很重要,没有这个新的option不会显示
    //             }, error: function () {
    //                 layer.msg("添加请求失败3");
    //             }
    //         });
    //
    //
    //     });
    //
    // };
    //
    //
    //



    /**
     * 删除账单
     */
    function deleteById(data) {
        console.log(data);
        console.log(data.pkId);
        //提示用户确认是否删除
        layer.confirm("确定要删除"+data.classroomName+"教室吗？",{icon:3,title:"提示"},function (index) {
            //发送ajax请求
            console.info(data.pkId);

            $.ajax({
                type: "post",
                url: "deleteBypkId",
                contentType: "application/json;charset=utf-8",
                data:JSON.stringify(data.pkId),
                dataType: "json",
                success: function (result) {
                    layer.alert(result.message,{icon:1});
                    //刷新数据表格
                    tableIns.reload();
                }, error: function (result) {
                    layer.alert(result.message,{icon:2});
                }
            });
            layer.close(index);

        });
    }


    /**
     * 批量删除
     */
    function batchDelete() {
        console.log("123");
        //获取表格对象
        var checkStatus = table.checkStatus('classTable'); //billTable 即为基础参数 id 对应的值
        //判断是否有选中行
        if(checkStatus.data.length>0){
            //定义数组，保存选中行的ID
            var idArr = [];
            //循环遍历获取选中行(目的是获取选中的每一行的ID值)
            for (let i = 0; i < checkStatus.data.length; i++) {
                //将选中的ID值添加到数组的末尾
                idArr.push(checkStatus.data[i].pkId);
            }
            //将数组转成字符串
            var ids = idArr.join(",");
            console.log(ids);
            //提示用户是否删除
            layer.confirm("确定要删除这<fontcolor='red'>"+checkStatus.data.length+"</font>条数据吗？", {icon:3,title:"提示"},function (index) {
                //发送ajax请求
                $.ajax({
                    type: "post",
                    url: "batchDeleteClass",
                    contentType: "application/json;charset=utf-8",
                    data:JSON.stringify(ids),
                    dataType: "json",
                    success: function (result) {
                        layer.alert(result.message,{icon:1});
                        //刷新数据表格
                        tableIns.reload();
                    }, error: function (result) {
                        layer.alert(result.message,{icon:2});
                    }
                });


                //关闭提示框
                layer.close(index);
            });
        }else{
            layer.msg("请选择要删除的数据");
        }
    }


});



//
// // 时间戳
// function getYMDHMS(timestamp) {
//     let time = new Date(timestamp)
//     let year = time.getFullYear()
//     const month = (time.getMonth() + 1).toString().padStart(2, '0')
//     const date = (time.getDate()).toString().padStart(2, '0')
//     const hours = (time.getHours()).toString().padStart(2, '0')
//     const minute = (time.getMinutes()).toString().padStart(2, '0')
//     const second = (time.getSeconds()).toString().padStart(2, '0')
//
//     return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second
// }


// layui.use('form', function(){
//     var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功
//
//     //……
//
//     //如果你的 HTML 是动态生成的，自动渲染就会失效
//     //因此你需要在相应的地方，执行下述方法来进行渲染
//     form.render('select');
// });



// js将 0,1,2,3...转成一，二，三....（数字转换大写）
function  numberToUpperCase(textIndex) {
    let newString = '';
    let newTextIndex = (textIndex + 1) + '';

    function sum(value, index) {
        var newValue = '';
        if ((textIndex === 9)) {
            return !index ? '十' : '';
        }
        let isSeat = (~~textIndex > 9 && ~~textIndex < 19);
        switch (~~value) {
            case 1:
                newValue = !index ? (isSeat ? '' : '一') : '十一';
                break;
            case 2:
                newValue = !index ? (isSeat ? '' : '二') : '十二';
                break;
            case 3:
                newValue = !index ? (isSeat ? '' : '三') : '十三';
                break;
            case 4:
                newValue = !index ? (isSeat ? '' : '四') : '十四';
                break;
            case 5:
                newValue = !index ? (isSeat ? '' : '五') : '十五';
                break;
            case 6:
                newValue = !index ? (isSeat ? '' : '六') : '十六';
                break;
            case 7:
                newValue = !index ? (isSeat ? '' : '七') : '十七';
                break;
            case 8:
                newValue = !index ? (isSeat ? '' : '八') : '十八';
                break;
            case 9:
                newValue = !index ? (isSeat ? '' : '九') : '九十';
                break;
            case 0:
                newValue = '十';
                break;
            default:
                break;
        }
        return newValue;
    }

    for (let i = 0; i < newTextIndex.length; i++) {
        newString += sum(newTextIndex.substring(i, i + 1), i);
    }
    return newString;
}

